
import React from 'react';

/** 能力 */
export interface ICapability<T = any>  {

  /** 显示名称 */
  title?: React.ReactNode;

  /** 权限列表 */
  permissions?: string[];

  /** 子能力 */
  sub?: (data?: T, index?: number) => ICapability[];

  /** 是否启用 */
  isEnable?: (data?: T, index?: number) => boolean;

  /** 是否失效 */
  isDisabled?: (data?: T, index?: number) => boolean;

  /** 启动 */
  start?: (data?: T, index?: number) => void | Promise<void>;
}

